// 时间范围参数
export interface TimeRangeParams {
  timeRange?: string
}

// 测试统计数据
export interface TestStats {
  totalTests: number
  monthlyTests: number
  monthlyGrowth: number
  testDistribution: Array<{
    name: string
    value: number
  }>
  completionTrends: Array<{
    date: string
    count: number
  }>
}

// 预约统计数据
export interface AppointmentStats {
  totalAppointments: number
  monthlyAppointments: number
  monthlyGrowth: number
  counselorWorkload: Array<{
    name: string
    value: number
  }>
  appointmentTrends: Array<{
    date: string
    count: number
  }>
  monthlyIncome: number
  monthlyIncomeGrowth: number
  incomeTrends: Array<{
    date: string
    amount: number
  }>
}

// 风险预警统计数据
export interface RiskStats {
  totalWarnings: number
  monthlyWarnings: number
  monthlyGrowth: number
  riskLevels: Array<{
    level: string
    count: number
  }>
  warningTrends: Array<{
    date: string
    count: number
  }>
}

// 总览数据项类型
export interface OverviewDataItem {
  title: string
  value: number | string
  change: string
  type: 'success' | 'warning' | 'danger'
  trend: number
}

// 测试选项类型
export interface TestOption {
  id: number
  title: string
}

// 收入统计类型
export interface IncomeStats {
  monthlyIncome: number
  monthlyGrowth: number
  incomeTrends: Array<{
    date: string
    amount: number
  }>
}

// 测试记录类型
export interface TestRecord {
  id: number
  title: string
  [key: string]: any
}

// 测评趋势数据类型
export interface TestTrendData {
  dates: string[]
  counts: number[]
}

// 维度得分分布数据类型
export interface DimensionScoreData {
  dimension: string
  score: number
}

// 预约趋势数据类型
export interface AppointmentTrendData {
  dates: string[]
  counts: number[]
}

// 咨询师工作量数据类型
export interface CounselorWorkloadData {
  counselorName: string
  appointmentCount: number
}

// 地理分布数据类型
export interface GeoDistributionData {
  name: string
  value: {
    count: number
  }
}

// 时间范围类型
export type TimeRange = 'week' | 'month' | 'year' | 'quarter'

// 咨询类型统计数据
export interface ConsultationTypeStats {
  aiCount: number
  normalCount: number
  aiGrowth: number
  normalGrowth: number
  distribution: Array<{
    type: string
    count: number
  }>
}

// 问题类型统计数据
export interface ProblemTypeStats {
  total: number
  distribution: Array<{
    type: string
    count: number
    percentage: number
  }>
}

// 咨询师收入查询参数
export interface CounselorIncomeParams {
  month?: string  // YYYY-MM 格式
  timeRange?: TimeRange
}

// 咨询师收入数据
export interface CounselorIncomeData {
  counselorId: string
  counselorName: string
  income: number
  appointmentCount: number
  rating: number
  completionRate: number
} 